Utilizaremos la base de datos de los deportistas de la NBA durante 2018 que contiene información como el equipo al que pertenecen, su posición, de qué universidad provienen, entre otras. Las variables que contiene la base de datos son: * Name: nombre de los jugadores
* Team: equipo al que pertenecen los jugadores
* Number: Número que utiliza cada jugador dentr del equipo
* Position: Posición en la que se desempeñan durante cada partido
* Age: Edad de los jugadores
* Height: Altura de los jugadores
* Weight: Peso de los jugadores
* College: universidad de donde provienen
* Salary: Sueldo que reciben
datos <- read.csv(url("https://raw.githubusercontent.com/sivabalanb/Data-Analysis-with-Pandas-and-Python/master/nba.csv"))
datos<- datos[1:457,] #Eliminamos la ultima fila porque está en blanco
attach(datos)
Se clasifican de la siguiente manera:
| Variable | Tipo | Escala de medición |
|---|---|---|
| Name | cualitativa | nominal |
| Team | cualitativa | nominal |
| Number | cualitativa | nominal |
| Position | cualitativa | nominal |
| Age | cuantitativa/discreta | intervalo |
| Height | cuantitativa/continua | razón |
| Weight | cuantitativa/continua | razón |
| College | cualitativa | nominal |
| Salary | cuantitativa/continua | razón |
Vamos a utilizar la variable College y realizaremos un análisis para saber de qué universidad hay más jugadores.
tabla_college <- as.data.frame(table(College))
#tabla_college
tabla_frec_college <- transform(tabla_college[with(tabla_college, order(-tabla_college$Freq)),],
FrecAq = cumsum(Freq),
Rel = round(prop.table(Freq), 3),
RelAc = round(cumsum(prop.table(Freq)), 3))
tabla_frec_college
## College Freq FrecAq Rel RelAc
## 1 84 84 0.184 0.184
## 47 Kentucky 22 106 0.048 0.232
## 28 Duke 20 126 0.044 0.276
## 45 Kansas 18 144 0.039 0.315
## 68 North Carolina 16 160 0.035 0.350
## 98 UCLA 15 175 0.033 0.383
## 3 Arizona 13 188 0.028 0.411
## 30 Florida 10 198 0.022 0.433
## 95 Texas 9 207 0.020 0.453
## 91 Syracuse 8 215 0.018 0.470
## 22 Connecticut 7 222 0.015 0.486
## 100 USC 7 229 0.015 0.501
## 109 Washington 7 236 0.015 0.516
## 33 Georgetown 6 242 0.013 0.530
## 36 Georgia Tech 6 248 0.013 0.543
## 53 LSU 6 254 0.013 0.556
## 59 Michigan 6 260 0.013 0.569
## 60 Michigan State 6 266 0.013 0.582
## 108 Wake Forest 6 272 0.013 0.595
## 54 Marquette 5 277 0.011 0.606
## 72 Ohio State 5 282 0.011 0.617
## 90 Stanford 5 287 0.011 0.628
## 117 Wisconsin 5 292 0.011 0.639
## 41 Indiana 4 296 0.009 0.648
## 74 Oklahoma State 4 300 0.009 0.656
## 93 Tennessee 4 304 0.009 0.665
## 99 UNLV 4 308 0.009 0.674
## 104 Villanova 4 312 0.009 0.683
## 2 Alabama 3 315 0.007 0.689
## 5 Arkansas 3 318 0.007 0.696
## 14 California 3 321 0.007 0.702
## 20 Colorado 3 324 0.007 0.709
## 23 Creighton 3 327 0.007 0.716
## 32 Fresno State 3 330 0.007 0.722
## 52 Louisville 3 333 0.007 0.729
## 56 Maryland 3 336 0.007 0.735
## 57 Memphis 3 339 0.007 0.742
## 62 Missouri 3 342 0.007 0.748
## 65 Nevada 3 345 0.007 0.755
## 69 North Carolina State 3 348 0.007 0.761
## 89 St. John's 3 351 0.007 0.768
## 96 Texas A&M 3 354 0.007 0.775
## 101 Utah 3 357 0.007 0.781
## 4 Arizona State 2 359 0.004 0.786
## 9 Boston College 2 361 0.004 0.790
## 13 Butler 2 363 0.004 0.794
## 17 Cincinnati 2 365 0.004 0.799
## 18 Clemson 2 367 0.004 0.803
## 25 Dayton 2 369 0.004 0.807
## 37 Gonzaga 2 371 0.004 0.812
## 40 Illinois 2 373 0.004 0.816
## 58 Miami (FL) 2 375 0.004 0.821
## 64 Murray State 2 377 0.004 0.825
## 66 New Mexico 2 379 0.004 0.829
## 71 Notre Dame 2 381 0.004 0.834
## 76 Oregon 2 383 0.004 0.838
## 77 Oregon State 2 385 0.004 0.842
## 79 Pittsburgh 2 387 0.004 0.847
## 81 Purdue 2 389 0.004 0.851
## 84 Saint Joseph's 2 391 0.004 0.856
## 86 Saint Mary's 2 393 0.004 0.860
## 97 UC Santa Barbara 2 395 0.004 0.864
## 103 Vanderbilt 2 397 0.004 0.869
## 105 Virginia 2 399 0.004 0.873
## 106 Virginia Commonwealth 2 401 0.004 0.877
## 110 Washington State 2 403 0.004 0.882
## 114 Western Kentucky 2 405 0.004 0.886
## 6 Baylor 1 406 0.002 0.888
## 7 Belmont 1 407 0.002 0.891
## 8 Blinn College 1 408 0.002 0.893
## 10 Boston University 1 409 0.002 0.895
## 11 Bowling Green 1 410 0.002 0.897
## 12 Bucknell 1 411 0.002 0.899
## 15 Central Michigan 1 412 0.002 0.902
## 16 Charleston 1 413 0.002 0.904
## 19 Cleveland State 1 414 0.002 0.906
## 21 Colorado State 1 415 0.002 0.908
## 24 Davidson 1 416 0.002 0.910
## 26 DePaul 1 417 0.002 0.912
## 27 Detroit 1 418 0.002 0.915
## 29 Eastern Washington 1 419 0.002 0.917
## 31 Florida State 1 420 0.002 0.919
## 34 Georgia 1 421 0.002 0.921
## 35 Georgia State 1 422 0.002 0.923
## 38 Harvard 1 423 0.002 0.926
## 39 Houston 1 424 0.002 0.928
## 42 Iowa 1 425 0.002 0.930
## 43 Iowa State 1 426 0.002 0.932
## 44 IUPUI 1 427 0.002 0.934
## 46 Kansas State 1 428 0.002 0.937
## 48 Lehigh 1 429 0.002 0.939
## 49 Long Beach State 1 430 0.002 0.941
## 50 Louisiana-Lafayette 1 431 0.002 0.943
## 51 Louisiana Tech 1 432 0.002 0.945
## 55 Marshall 1 433 0.002 0.947
## 61 Minnesota 1 434 0.002 0.950
## 63 Morehead State 1 435 0.002 0.952
## 67 Norfolk State 1 436 0.002 0.954
## 70 Northeastern 1 437 0.002 0.956
## 73 Oklahoma 1 438 0.002 0.958
## 75 Old Dominion 1 439 0.002 0.961
## 78 Penn State 1 440 0.002 0.963
## 80 Providence 1 441 0.002 0.965
## 82 Rhode Island 1 442 0.002 0.967
## 83 Rider 1 443 0.002 0.969
## 85 Saint Louis 1 444 0.002 0.972
## 87 San Diego State 1 445 0.002 0.974
## 88 St. Bonaventure 1 446 0.002 0.976
## 92 Temple 1 447 0.002 0.978
## 94 Tennessee State 1 448 0.002 0.980
## 102 Utah Valley 1 449 0.002 0.982
## 107 Virginia Tech 1 450 0.002 0.985
## 111 Weber State 1 451 0.002 0.987
## 112 Westchester CC 1 452 0.002 0.989
## 113 Western Carolina 1 453 0.002 0.991
## 115 Western Michigan 1 454 0.002 0.993
## 116 Wichita State 1 455 0.002 0.996
## 118 Wyoming 1 456 0.002 0.998
## 119 Xavier 1 457 0.002 1.000
Con la tabla de frecuencias observamos que Kentucky con 22 jugadores es la universidad que tiene más alumnos en la NBA, seguida de la universidad de Duke con 20 jugadores. Aunque hay 84jugadores que no pertenecen a ninguna universidad o no tienen una registrada, pero solo representan el 18% de todos los jugadores, entonces decimos que el 82% de jugadores, es decir 373 jugadores, pertenecen a alguna universidad. También podemos observar que la mayoría de universidades cuentan con máximo 2 jugadores de la NBA, son pocas las universidades privilegiadas de aportar varios estudiantes a la NBA.
Ahora vamos a realizar el mismo análisis para la variable de posiciones
tabla_position <- as.data.frame(table(Position))
tabla_position <- transform(tabla_position,
FrecAq = cumsum(Freq),
Rel = round(prop.table(Freq), 3),
RelAc = round(cumsum(prop.table(Freq)), 3))
total <- data.frame(
Position = as.factor("TOTAL"),
Freq = sum(tabla_position$Freq),
FrecAq = sum(tabla_position$Freq),
Rel = sum(tabla_position$Rel),
RelAc = sum(tabla_position$Rel)
)
total <- rbind(tabla_position,total)
total
## Position Freq FrecAq Rel RelAc
## 1 C 78 78 0.171 0.171
## 2 PF 100 178 0.219 0.389
## 3 PG 92 270 0.201 0.591
## 4 SF 85 355 0.186 0.777
## 5 SG 102 457 0.223 1.000
## 6 TOTAL 457 457 1.000 1.000
Observamos que la posición en la que más jugadores se desempeñan es SG (Shooting Guard), mientras que la posición que menos jugadores tiene es C (Center o Pivot), lo cual tiene sentido ya que en esta posición las hibilidades más importantes son el peso y la fuerza y la mayoría de jugadores que vemos en la NBA tienden a ser delgados y ligeros para tener mayor agilidad, aunque no es mucha la diferencia de jugadores que hay en esta posición comparada con las otras posiciones.
# Diagrama Circular
par(mfrow=c(1,2))
pie(tabla_position$Freq,labels=paste(c("C","PF","PG","SF","SG"),tabla_position$Freq,sep=": "),col=2:7,radius=1)
title("Diagrama de pastel - Posiciones \n (Frecuencias)")
pie(tabla_position$Rel,labels=paste(c("C","PF","PG","SF","SG"),tabla_position$Rel,sep=": "),col=2:7,radius=1)
title("Diagrama de pastel - Posiciones \n (Frecuencias relativas)")
library(plotrix)
par(mfrow=c(1,2))
pie3D(tabla_position$Freq,labels=paste(c("C","PF","PG","SF","SG"),tabla_position$Freq,sep=": "),col=2:7,explode = 0.1)
title("Diagrama de pastel - Posiciones \n (Frecuencias)")
pie3D(tabla_position$Rel,labels=paste(c("C","PF","PG","SF","SG"),tabla_position$Rel,sep=": "),col=2:7,explode = 0.1)
title("Diagrama de pastel - Posiciones \n (Frecuencias relativas)")
Análizando mediante una gráfica de pastel, podemos observar que se notan menos esas diferencias en la cantidad de jugadores para cada posición, ya que es muy baja como mencionamos anteriormente. La diferencia que hay entre la posición que tiene menos jugadores (C: 17%) y la que tiene más (SG: 22%) es del 5%, casi nada, por lo tanto podemos concluir que no hay diferencias estadísticamente significativas entre la cantidad de jugadores en cada una de las posiciones.
#Convertimos el tipo de variable Height de string a numérico para poder trabaja con ella.
Height <- as.numeric(gsub("-", ".", Height))
tabla_height <- as.data.frame(table(Height)) #Frecuencias absolutas
tabla_height <- transform(tabla_height[with(tabla_height, order(-tabla_height$Freq)),],
FreqAc = cumsum(Freq),
FreqRel = round(prop.table(Freq), 3),
RelAc = round(cumsum(prop.table(Freq)), 3))
rbind(tabla_height, c("", sum(tabla_height$Freq),
tabla_height$FreqAc[nrow(tabla_height)],
sum(tabla_height$FreqRel),tabla_height$RelAc[nrow(tabla_height)]))
## Warning in `[<-.factor`(`*tmp*`, ri, value = ""): invalid factor level, NA
## generated
## Height Freq FreqAc FreqRel RelAc
## 4 6.1 63 63 0.138 0.138
## 13 6.9 59 122 0.129 0.267
## 11 6.7 45 167 0.098 0.365
## 12 6.8 43 210 0.094 0.46
## 10 6.6 42 252 0.092 0.551
## 5 6.11 40 292 0.088 0.639
## 7 6.3 33 325 0.072 0.711
## 9 6.5 32 357 0.07 0.781
## 8 6.4 29 386 0.063 0.845
## 14 7 27 413 0.059 0.904
## 6 6.2 16 429 0.035 0.939
## 3 6 10 439 0.022 0.961
## 15 7.1 7 446 0.015 0.976
## 17 7.3 4 450 0.009 0.985
## 1 5.11 3 453 0.007 0.991
## 16 7.2 3 456 0.007 0.998
## 2 5.9 1 457 0.002 1
## 18 <NA> 457 457 1 1
Con base en la tabla anterior sabemos que la mayor cantidad de jugadores de la NBA tiene \(6.1\) pies de altura. Más exactamente el \(\%13.8\) del total de jugadores. Como el valor de la variable Height en el que se concentran más registros es único, podemos decir que la distibución es unimodal.
library(plotly)
## Loading required package: ggplot2
##
## Attaching package: 'ggplot2'
## The following object is masked from 'datos':
##
## Position
##
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following object is masked from 'package:stats':
##
## filter
## The following object is masked from 'package:graphics':
##
## layout
height_plot <- plot_ly(x = Height, type = "box",
boxpoints = "all", jitter = 0.3,
name = "Height")
height_plot <- height_plot %>% layout(title = "Altura de los jugadores de la NBA", colorway = '#3d3b72')
height_plot
En la gráfica anterior se pueden observar tres jugadores con una altura mínima de \(5.11\) pies, lo cual tiene mucho sentido ya que es bien sabido que la mayoría de los jugadores de basquetbol son altos y como prueba de ésto, se puede apreciar que la dispersión de puntos es simétrica a la derecha, es decir, la concetración de alturas está en valores elevados.Los cuatro jugadores más altos miden \(7.3\) pies.
Además, \(\%25\) de los jugadores miden a lo más \(6.11\) pies y el \(\%75\) llegan a medir hasta \(6.8\) pies